home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 145
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin
/
games
/
spassion
/
knowhow.lzh
/
ノウハウ
/
mk_ANG.bas
< prev
next >
Wrap
BASIC Source File
|
1993-11-09
|
4KB
|
144 lines
int x,y,n,ang_main
float fx,fy,fi
float gosa
float gosa_min
float length
int i,ii,ang,ang_h,ang_add,add_add,bak_up
int dat1(1024)
int dat2(1024)
float cx(256),cy(256)
int cx8(256) ,cy8(256)
int cx16(256),cy16(256)
int hd32(256)
char qtoc(256)
str fname1
str fname2
int kan_len /*カンセツ 1コアタリノ スプライトスウ
int kan_suu /*カンセツスウ
int len_max /*ゼン カンセツヲ マッスグノバシタトキノ ドットスウ
screen 0,2,1,1:sp_disp(1):sp_on()
for i=0 to 127:sp_set(i,0,0):next
/*############################################################
i=fopen("cir\cx256","r")
fread(cx,256,i)
i=fopen("cir\cy256","r")
fread(cy,256,i)
i=fopen("cir\HD32","r")
fread(hd32,256,i)
i=fopen("cir\qtoc","r")
fread(qtoc,256,i)
fcloseall()
/*############################################################
while kan_len=0 or kan_suu=0 or len_max>1023
input "カンセツ 1コアタリノ スプライトスウ";kan_len
input "カンセツスウ";kan_suu /*カンセツスウ
input "セイミツド(デフォルト=&h1000)チイサイホドセイミツドup";add_add
if add_add=0 then add_add=&H1000
len_max=16*kan_len*kan_suu
print"マッスグニ ノバスト ゼンチョウ";len_max;"ドットデス。"
if len_max>1023 then print "ナガスギマス!!"
endwhile
/*############################################################
fname1="CIR\K1_"+itoa(kan_suu)+"_"+itoa(kan_len*16)
fname2="CIR\K2_"+itoa(kan_suu)+"_"+itoa(kan_len*16)
color 6
print"filename = ";fname1
print"filename = ";fname2;" デス"
print"hit any key!!"
while inkey$(0)<>"":endwhile
while inkey$(0)="":endwhile
color 7
/*
ang_add=0
/*
for ii=0 to len_max
i=len_max-ii
gosa_min=65535
/*-----------------------------
while ang_add<&HFF0000
/*
fx=0:fy=0
ang=0
n=0
for j=1 to kan_suu
ang_h=(ang shr 16)and 255
/*-----------------------------
for k=1 to kan_len
fx=fx+cx(ang_h)*16:fy=fy+cy(ang_h)*16
x=fx-cx(ang_h)*8 : y=fy-cy(ang_h)*8
sp_set(n,x+128 and 511,y+128 and 511,&H135+hd32(ang_h),3)
n=n+1
next
/*-----------------------------
ang=ang+ang_add
next
/*-----------------------------
length=sqr(fx*fx+fy*fy)
fi=i
gosa=abs(fi-length)
if gosa_min>=gosa then {
gosa_min=gosa:bak_up=ang_add
} else {
break /*ヒツヨウナang_addハ、bak_upニ、モトマッタ。
}
ang_add=ang_add+add_add
endwhile
/*------------------------------
print "ゴサ";int(gosa_min);"ドット";
dat1(i)=bak_up
dat2(i)=(-(ang-ang_add)/2)and &hffffff
print " カクドホセイ";hex$(dat2(i))
ang_add=bak_up
next
/*#######################[ SAVE ]#########################
print"テーブルをSAVEします。"
i=fopen(fname1,"c")
fwrite(dat1,len_max,i)
i=fopen(fname2,"c")
fwrite(dat2,len_max,i)
fcloseall()
/*#################[ デモンストレーション ]###################
cls
print"デモンストレーションちゅう。"
print"キーをおすとしゅうりょうです。"
for i=0 to 255
cx16(i)=cx(i)*16*65536
cy16(i)=cy(i)*16*65536
cx8(i) =cx(i)*8*65536
cy8(i) =cy(i)*8*65536
next
/*========================================
while inkey$(0)=""
wipe()
ang_main=(rand()shr 6)and 255
line(120,120,int(120+cx(ang_main)*128),int(120+cy(ang_main)*128),100)
/*:::::::::::::::::::::::::::::
for i=0 to len_max
ang=(ang_main shl 16)+dat2(i)
ang_add=dat1(i)
n=0
x=0
y=0
while strig(1)=3:endwhile
vwait2(strig(1)*6)
/*-----------------------------
for j=1 to kan_suu
ang_h=(ang shr 16)and 255
/*-----------------------------
for k=1 to kan_len
x=x+cx16(ang_h):y=y+cy16(ang_h)
sp_set(n,((x-cx8(ang_h))shr 16)+128 and 511,((y-cy8(ang_h))shr 16)+128 and 511,&H135+hd32(ang_h),3)
n=n+1
next
/*-----------------------------
ang=ang+ang_add
next
pset((x shr 16)+120 and 511,(y shr 16)+120 and 511,&Hff)
/*-----------------------------
next
/*:::::::::::::::::::::::::::::
endwhile
end
/*
/*